
-- =============================================
-- Author:		<Grupo 10,>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Inserta un Salon>
-- =============================================
CREATE PROCEDURE [dbo].[InsertarSalon]
    @tiposalon varchar(50),
	@nombre varchar(50),
	@capacidad varchar(50),
	@idedificio int

AS
BEGIN
		
    insert into Salon (tipo,nombre,capacidad,status,fk_id_Edificio) values 
	(@tiposalon,@nombre,@capacidad,1,@idedificio);

	Select max(id_Salon) from salon;
   
END;

GO

-- =============================================
-- Author:		<Grupo 10>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Consulta salorn>
-- =============================================
CREATE PROCEDURE [dbo].[ConsultarSalonTipo]
	@tipo varchar(50),
	@iduniversidad int

AS
BEGIN
		
   select s.id_salon,s.tipo,s.nombre,e.nombre_Edificio,s.capacidad,s.status from salon s,Edificio e where s.status = 1 and s.fk_id_Edificio IN(select id_Edificio from Edificio where fk_id_Universidad= @iduniversidad) and e.id_Edificio = s.fk_id_Edificio and s.tipo = @tipo; 
   
END;

GO

-- =============================================
-- Author:		<Grupo 10>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Consulta Salon por Nombre>
-- =============================================
CREATE PROCEDURE [dbo].[ConsultarSalonNombre]
	@nombre varchar(50),
	@iduniversidad int

AS
BEGIN
		
    select s.id_salon,s.tipo,s.nombre,e.nombre_Edificio,s.capacidad,s.status from salon s,Edificio e  where nombre like '%' + @nombre + '%' and status = 1 and s.fk_id_Edificio IN(select id_Edificio from Edificio where fk_id_Universidad = @iduniversidad)and e.id_Edificio = s.fk_id_Edificio;
END;

GO

-- =============================================
-- Author:		<Grupo 10>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Consulta todos los salones inabilitados>
-- =============================================
CREATE PROCEDURE [dbo].[ConsultarSalonInabilitados]

	@iduniversidad int
AS
BEGIN
		
    select * from salon where status = 0 and fk_id_Edificio IN(select id_Edificio from Edificio where fk_id_Universidad = @iduniversidad); 
   
END;

GO

-- =============================================
-- Author:		<Grupo 6>
-- Create date: <Dia de creacion,18/01/2012>
-- Description:	<Consulta todos los Edificios>
-- =============================================
CREATE PROCEDURE [dbo].[ConsultarEdificios]

	@iduniversidad int
AS
BEGIN
		
    select * from edificio where status_Edificio = 1 and fk_id_Universidad = @iduniversidad;
END;

GO

-- =============================================
-- Author:		<Grupo 10>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Consulta Salon por edificio>
-- =============================================
CREATE PROCEDURE [dbo].[ConsultarSalonEdificio]
	@edificio varchar(50),
	@iduniversidad int

AS
BEGIN
		
    select s.id_salon,s.tipo,s.nombre,e.nombre_Edificio,s.capacidad,s.status from salon s,Edificio e where s.status = 1 and s.fk_id_Edificio IN(select id_Edificio from Edificio where nombre_Edificio = @edificio and fk_id_Universidad= @iduniversidad) and e.id_Edificio = s.fk_id_Edificio; 
   
END;
GO

-- =============================================
-- Author:		<Grupo 10>
-- Create date: <Dia de creacion,14/12/2011>
-- Description:	<Edita un Salon>
-- =============================================
CREATE PROCEDURE [dbo].[ModificarSalon]
	@nombre varchar(50),
	@capacidad int,
	@tiposalon varchar(50),
	@status int,
	@idsalon int,
	@idEdificio int

AS
BEGIN
		
    update Salon set tipo = @tiposalon, nombre = @nombre, capacidad = @capacidad, status = @status, fk_id_Edificio= @idEdificio
	where id_salon = @idsalon;
   
END;
GO

CREATE PROCEDURE [dbo].[EliminarSalon]
	@status int,
	@idsalon int
	
AS
BEGIN
		
    update Salon set status = @status 
	where id_salon = @idsalon;
   
END;
GO

CREATE PROCEDURE buscarSalonenHorario
	@idsalon INT
AS
BEGIN
   select fk_salon from Salon,HorarioClase where id_salon =@idsalon and fk_Salon = id_salon 
END;
GO

CREATE PROCEDURE buscarEdificio
	@id_universidad      	INT,
	@edificio				varchar(50)
AS
BEGIN
SELECT id_Edificio FROM Edificio WHERE fk_id_Universidad = @id_universidad and nombre_Edificio = @edificio
END;
GO

CREATE PROCEDURE buscarEdificiosPorUniversidad
	@id_universidad      	INT
AS
BEGIN
SELECT id_Edificio,nombre_Edificio FROM Edificio WHERE fk_id_Universidad = @id_universidad
END;
GO

ALTER PROCEDURE [dbo].[ConsultarEdificios]

	@iduniversidad int
AS
BEGIN
		
    select * from edificio where status_Edificio = 1 and fk_id_Universidad = @iduniversidad;
END;
GO

CREATE PROCEDURE todosLosSalones
@idUniversidad INT

AS
BEGIN
SELECT nombre,tipo,capacidad,nombre_Edificio,id_salon,status  from Salon,Edificio WHERE fk_id_Edificio = id_Edificio AND fk_id_Universidad = @idUniversidad
END;
GO

CREATE PROCEDURE validarSalones
	@salon varchar(50),
	@edificio varchar(50),
	@idUniversidad int


AS
BEGIN
		
    SELECT id_salon FROM Salon where nombre = @salon and fk_id_Edificio IN 
    (select id_edificio from Edificio where nombre_Edificio = @edificio and fk_id_Universidad = @idUniversidad ); 
   
END;
GO

